<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>逻辑运算符</title>
</head>
<body>
    <button onclick="funLogic()">点我一下</button>
</body>
<script>
    function funLogic(){
        // var a = 3 > 5  //false
        // var b = 6 > 9  // true
        /*
            &&  短路与    要真都得是真，才为真，有一个假结果就为假
            ||  短路或    只要有一个真就是真
            ！ 非  取反
            ?? 空值合并运算符 算符用于检查其左侧的表达式是否为 null 或 undefined。如果是，则返回右侧的值；否则返回左侧的值。
        //  */
        // var c = a && b  // a 为真 b 也为真
        // console.log(c)

        // 查询年龄大于18的男性
        // 年龄大于18 并且 性别为男 要求两个条件必须同时满足
        // 与 用于同时满足多个条件，所以需要所有的条件都为真，结果才为真
        // console.log(true && true)
        // console.log(false && false)
        // console.log(true && false)
        // console.log(false && true)

        // 查询所有用户中性别为男或者年龄大于18的女性
        // 或 是满足其中任意一个条件就可以，所以只要有一个真结果就为真
        // console.log(true || true)
        // console.log(false || false)
        // console.log(true || false)
        // console.log(false || true)

        // console.log(!true) //false
        // console.log(!false) //true

        //?? 用于判断对象是否为Null或者未定义
        // console.log(null ?? 5)
        // console.log(5 ?? 8)

        // var  username
        // username = username ?? "用户名为空"
        // console.log(username)

        // 1 就是True
        // 0 就是false
        console.log(true & true)   // 1 true
        console.log(false & false) //0 false
        console.log(true & false)
        console.log(false & true)

        // if(0){
        //     console.log(true)
        // }else{
        //     console.log(false)
        // }
    }
</script>
</html>